<?php

/**
 * Description of OrdenDao
 * Dao para la tabla Orden
 * @author kyox
 */

function adminOrden($user,$orden){
    $array_prop = parse_ini_file('DataAcces.properties');
    $enlace = mysqli_connect($array_prop['servidor'], $array_prop['usuario'], $array_prop['contra'], $array_prop['base']);
    if (mysqli_connect_errno()) {
        printf("Conexión fallida: %s\n", mysqli_connect_error());
        exit();
    }
    $consulta = " SELECT DISTINCT o.idOrden, (SELECT ifnull(sum(ROUND((det.cantidad*det.precioUnitario) - (det.cantidad*det.precioUnitario*(det.discount/100)),2)),0)  "
		. " 	FROM u225435723_orden.ORDEN_DETAIL det WHERE det.idOrden = o.idOrden) total,o.creationDate, s.stepName,p.icono,o.idPrioridad, s.stepCode,o.creationUser"
		. " FROM u225435723_orden.ORDEN o INNER JOIN u225435723_orden.SEC_USER usr ON (usr.userName = o.creationUser)  "
                . " INNER JOIN u225435723_orden.PRIORIDAD p ON (p.idPrioridad = o.idPrioridad) "
		. " INNER JOIN u225435723_orden.STEP s ON (s.stepCode = o.step) INNER JOIN u225435723_orden.ORDEN_DETAIL d ON (o.idOrden = d.idOrden) "
		. " INNER JOIN u225435723_orden.TIPO_ORDEN t ON (t.tipoOrdenCode = d.tipoOrdenCode) INNER JOIN u225435723_orden.STEP_X_ROLE sxr ON (sxr.stepCode = o.step)"
		. " INNER JOIN u225435723_orden.SEC_ROLE r ON (sxr.roleCode = r.roleCode) WHERE (usr.userName = '".$user."' OR (SELECT ro.roleSort FROM u225435723_orden.SEC_USER us "
		. " INNER JOIN u225435723_orden.SEC_ROLE ro ON (us.roleCode = ro.roleCode) WHERE us.userName = '".$user."') = r.roleSort+1) AND o.step NOT IN ('CNX','DEL')"
		. " AND MONTH(o.modificationDate) = MONTH(now()) AND YEAR(o.modificationDate) = YEAR(now()) AND t.tipoOrdenCode = '".$orden."' ORDER BY p.sort DESC, o.modificationDate DESC, o.modificationUser ASC, o.idOrden DESC";
    if ($resultado = mysqli_query($enlace, $consulta)) {
        while ($row = mysqli_fetch_assoc($resultado)) { $results[] = $row; }
        mysqli_free_result($resultado);
    }
    mysqli_close($enlace);
    if (isset($results)) return $results;
}

function insertarOrden($user) {
    $array_prop = parse_ini_file('DataAcces.properties');
    $con = mysqli_connect($array_prop['servidor'], $array_prop['usuario'], $array_prop['contra'], $array_prop['base']);
    // Check connection
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $insert = "INSERT INTO u225435723_orden.ORDEN (`step`,`idPrioridad`,`creationDate`,`creationUser`,`modificationDate`,`modificationUser`) VALUES ('CRE'"
            . ",'Normal' ,now(),'" . $user . "',now(),'". $user."')";

    $result = mysqli_query($con, $insert);

    mysqli_commit($con);

    mysqli_close($con);
    return $result;
}

function getMaxOrden($user){
    $array_prop = parse_ini_file('DataAcces.properties');

    $enlace = mysqli_connect($array_prop['servidor'], $array_prop['usuario'], $array_prop['contra'], $array_prop['base']);

    /* verificar la conexión */
    if (mysqli_connect_errno()) {
        printf("Conexión fallida: %s\n", mysqli_connect_error());
        exit();
    }

    $consulta = "SELECT MAX(o.idOrden) idOrden FROM `u225435723_orden`.`ORDEN` o "
            . "WHERE o.creationUser = '".$user . "'";

    if ($resultado = mysqli_query($enlace, $consulta)) {
        /* obtener array asociativo */
        while ($row = mysqli_fetch_assoc($resultado)) {
            $results[] = $row;
        }
        /* liberar el conjunto de resultados */
        mysqli_free_result($resultado);
    }

    /* cerrar la conexión */
    mysqli_close($enlace);
    if (isset($results))
        return $results;
}

function getOrdenById($orden){
    $array_prop = parse_ini_file('DataAcces.properties');
    $enlace = mysqli_connect($array_prop['servidor'], $array_prop['usuario'], $array_prop['contra'], $array_prop['base']);
    if (mysqli_connect_errno()) {
        printf("Conexión fallida: %s\n", mysqli_connect_error());
        exit();
    }
    $consulta = 'SELECT idOrden, step, idPrioridad,creationDate,creationUser, modificationDate, modificationUser'
            . ' FROM u225435723_orden.ORDEN WHERE idOrden = ' . $orden;

    if ($resultado = mysqli_query($enlace, $consulta)) {
        /* obtener array asociativo */
        while ($row = mysqli_fetch_assoc($resultado)) {
            $results[] = $row;
        }
        /* liberar el conjunto de resultados */
        mysqli_free_result($resultado);
    }

    /* cerrar la conexión */
    mysqli_close($enlace);
    if (isset($results))
        return $results;
}
